// 自定义表单校验方法
export default {
  // 验证手机号
  checkPhone: (rule, value, callback) => {
    let tel = /^((0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
    // let phone = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
    let phone = /^1[3456789]\d{9}$/;
    if (!value) {
      callback();
    } else if (value.length == 11) {
      //手机号码
      if (phone.test(value)) {
        callback();
      }
    } else if (value.length == 12 && value.indexOf("-") != -1) {
      //电话号码
      if (tel.test(value)) {
        callback();
      }
    }
    callback(new Error("请输入有效的号码"));
  },

  // 验证不小于0
  checkNumber: (rule, value, callback) => {
    if (value < 0) {
      return callback(new Error("请输入不小于0的数字"));
    } else {
      callback();
    }
  },

  // 验证正整数
  checkPositiveInteger: (rule, value, callback) => {
    var reg = /^[0-9]+$/;
    if (!reg.test(value)) {
      return callback(new Error("请输入大于0的整数"));
    } else {
      callback();
    }
  },

  // 验证身份证号
  chechIdCard: (rule, value, callback) => {
    var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    if (!reg.test(value)) {
      return callback(new Error("请输入有效的身份证号"));
    } else {
      callback();
    }
  },
  //验证邮箱
  checkEmail: (rule, value, callback) => {
    let reg = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
    if (value === "") {
      // callback(new Error("请输入邮箱"));
      callback();
    } else if (!reg.test(value)) {
      callback(new Error("请输入正确邮箱格式"));
    } else {
      callback();
    }
  },
  //校验密码
  checkPass: (rule, value, callback) => {
    let reg = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$/;
    if (value === "") {
      callback(new Error("请输入密码"));
    } else if (!reg.test(value)) {
      callback(new Error("至少8位且必有数字+特殊字符+字母"));
    } else {
      callback();
    }
  }
};
